session description protocol ne demek?

Session Description Protocol (SDP)

Session Description Protocol (SDP), multimedya oturumlarını duyurmak, davet etmek ve müzakere etmek için kullanılan bir metin tabanlı protokoldür. Özellikle IP üzerinden multimedya iletişimi için tasarlanmıştır ve genellikle Session Initiation Protocol (SIP) gibi diğer protokollerle birlikte kullanılır. SDP, verinin kendisini taşımaz, sadece oturumun özelliklerini ve katılım için gereken bilgileri tanımlar.

Temel Amaçları

SDP'nin temel amaçları şunlardır:

  • Oturum Tanımlama: Bir multimedya oturumunu tanımlamak ve adlandırmak.
  • Oturum Zamanlaması: Oturumun ne zaman başlayacağını ve ne kadar süreceğini belirtmek.
  • Medya Açıklamaları: Oturumda kullanılacak medya türlerini (örneğin, ses, video) ve bu medyaların nasıl kodlanacağını (örneğin, codec'ler) tanımlamak.
  • Ağ Bilgileri: Oturuma nasıl bağlanılacağını (örneğin, IP adresi, port numarası) belirtmek.
  • Diğer Özellikler: Oturumun ek özelliklerini (örneğin, şifreleme, bant genişliği) belirtmek.

SDP Sözdizimi

SDP, basit bir metin tabanlı sözdizimine sahiptir. Bir SDP açıklaması, bir dizi öznitelik-değer çiftinden oluşur. Her öznitelik, tek harfli bir tanımlayıcıyla başlar ve ardından bir eşittir işareti (=) ve bir değer gelir. SDP açıklamaları genellikle UTF-8 kodlaması kullanılarak temsil edilir.

Temel Öznitelikler:

  • v= (version): SDP sürümü. Genellikle 0'dır.
  • o= (origin): Oturumu oluşturan kişinin veya sistemin bilgileri. Formatı şöyledir: <username> <session id> <session version> <network type> <address type> <address>. Örneğin: o=alice 2890844526 2890844526 IN IP4 alice.example.com. IN internet anlamına gelir.
  • s= (session name): Oturumun adı.
  • i= (session information): Oturum hakkında isteğe bağlı bilgiler.
  • u= (URI): Oturum hakkında ek bilgiler içeren bir URI.
  • e= (email address): Oturumun sahibiyle iletişim için e-posta adresi.
  • p= (phone number): Oturumun sahibiyle iletişim için telefon numarası.
  • c= (connection information): Oturum için bağlantı bilgileri. Formatı şöyledir: <network type> <address type> <connection address>. Örneğin: c=IN IP4 192.0.2.1.
  • b= (bandwidth information): Oturum için bant genişliği bilgileri. Örneğin: b=AS:64 (uygulama paylaşımının bant genişliği).
  • t= (time description): Oturumun başlangıç ve bitiş zamanları. Formatı şöyledir: <start time> <stop time>. Örneğin: t=0 0 (oturumu süresiz yapar).
  • r= (repeat times): Oturumun tekrar etme zamanları.
  • z= (time zone adjustments): Saat dilimi ayarlamaları.
  • k= (encryption key): Oturumun şifreleme anahtarı.
  • a= (attribute): Oturumun ek özellikleri.

Medya Açıklamaları:

Medya açıklamaları, m= özniteliği ile başlar ve oturumdaki her medya türü için ayrı bir blok olarak tanımlanır.

  • m= (media description): Medya türü, port numarası, taşıma protokolü ve medya formatları. Örneğin: m=audio 49170 RTP/AVP 0.
  • i= (media title): Medyanın adı.
  • c= (connection information): Medya için bağlantı bilgileri (oturuma ait genel bağlantı bilgilerinden farklıysa).
  • b= (bandwidth information): Medya için bant genişliği bilgileri.
  • k= (encryption key): Medyanın şifreleme anahtarı.
  • a= (media attribute): Medyanın ek özellikleri. Örneğin: a=rtpmap:0 PCMU/8000 (PCMU codec'i, 8000 Hz örnekleme hızı).

SDP Örneği

Aşağıda basit bir SDP örneği bulunmaktadır:

v=0
o=alice 2890844526 2890844526 IN IP4 alice.example.com
s=Example Session
c=IN IP4 192.0.2.1
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000

Bu örnek, bir ses oturumunu tanımlar. Oturumu başlatan kişi Alice'tir, oturumun IP adresi 192.0.2.1'dir ve ses verisi 49170 port numarası üzerinden RTP kullanılarak taşınacaktır. Ses verisi PCMU codec'i ile kodlanmıştır.

SDP'nin Kullanım Alanları

SDP, çeşitli multimedya uygulamalarında yaygın olarak kullanılır:

SDP ve Diğer Protokoller

SDP genellikle diğer protokollerle birlikte çalışır:

  • SIP (Session Initiation Protocol): SIP, multimedya oturumlarını kurmak, değiştirmek ve sonlandırmak için kullanılan bir sinyal protokolüdür. SDP, SIP mesajlarının gövdesinde taşınarak oturumun özelliklerini tanımlar.
  • RTP (Real-time Transport Protocol): RTP, gerçek zamanlı ses ve video verisini taşımak için kullanılan bir protokoldür. SDP, RTP oturumunun özelliklerini (örneğin, codec'ler, port numarası) tanımlar.
  • SDP Multicast (Session Description Protocol Multicast): Multicast oturumlarını duyurmak için kullanılan bir mekanizmadır. SDP açıklamaları, multicast adreslerine gönderilerek oturuma katılmak isteyenlerin oturumun özelliklerini öğrenmesini sağlar.

Avantajları

  • Esneklik: Farklı medya türleri ve protokollerle çalışabilir.
  • Geniş Uyumluluk: Birçok multimedya uygulaması tarafından desteklenir.
  • Basit Sözdizimi: Kolayca okunabilir ve ayrıştırılabilir.
  • Genişletilebilirlik: Yeni özellikler ve öznitelikler eklenebilir.

Dezavantajları

  • Sadece Açıklama: Verinin kendisini taşımaz.
  • Güvenlik Açığı: Şifreleme mekanizmaları yetersiz olabilir (ek güvenlik önlemleri gerekebilir).
  • Karmaşıklık: Bazı uygulamalar için çok fazla yapılandırma gerektirebilir.

Güvenlik

SDP'nin kendisi bir güvenlik protokolü değildir ve verinin şifrelenmesi veya doğrulanması gibi güvenlik mekanizmaları sağlamaz. Bu nedenle, SDP kullanılırken ek güvenlik önlemleri alınması önemlidir. Örneğin:

  • SRTP (Secure Real-time Transport Protocol): RTP üzerinden taşınan medya verisi için şifreleme ve doğrulama sağlar.
  • TLS (Transport Layer Security): SIP gibi sinyal protokollerinin güvenliğini sağlar.
  • DTLS (Datagram Transport Layer Security): UDP gibi bağlantısız protokoller üzerinden TLS benzeri güvenlik sağlar.

Sonuç

Session Description Protocol (SDP), multimedya oturumlarını tanımlamak ve müzakere etmek için önemli bir protokoldür. Esnekliği ve geniş uyumluluğu sayesinde birçok farklı uygulamada kullanılmaktadır. Ancak, güvenliği sağlamak için ek önlemler alınması gerekmektedir.

Bu makale, Session Description Protocol (SDP) hakkında genel bir bakış sunmaktadır. Daha detaylı bilgi için, ilgili RFC belgelerine ve diğer kaynaklara başvurulabilir.

Kendi sorunu sor